package cn.edu.scau.cmi.linpeiwei.composite.consistent;

import java.util.ArrayList;

import javafx.collections.FXCollections;
import javafx.collections.ObservableList;

public class ConsistentComposite extends ConsistentComponent {
	private String name;
	ArrayList<ConsistentComponent> nodeList = new ArrayList<>();
	public ConsistentComposite(String name) {
		// TODO 自动生成的构造函数存根
		this.name = name;
	}
	@Override
	public String getName() {
		// TODO 自动生成的方法存根
		return name;
	}

	@Override
	public boolean add(ConsistentComponent cc) {
		// TODO 自动生成的方法存根
		return nodeList.add(cc);
	}

	@Override
	public boolean delete(ConsistentComponent cc) {
		// TODO 自动生成的方法存根
		return nodeList.remove(cc);
	}

	@Override
	public ConsistentComponent getChild(int index) {
		// TODO 自动生成的方法存根
		if(index < nodeList.size() && index >= 0)
			return nodeList.get(index);
		return null;
	}

	@Override
	public ObservableList<String> getList() {
		// TODO 自动生成的方法存根
		ObservableList<String> list = FXCollections.observableArrayList();
		for(int i = 0; i < nodeList.size(); i++)
			list.add(nodeList.get(i).getName());
		return list;
	}

	@Override
	public String toString() {
		// TODO 自动生成的方法存根
		return name + "(树枝)";
	}
}
